/***********************************************************************/
/* (dos)             Help file for The Hessling Editor            2.2  */
/***********************************************************************/

 Command-line invocation:
 
 the [-h?nmrsb] [-p profile] [-a profile_arg] [-w width] [[dir] [file [...]]]
 
  Where:
    -h or -?      Display usage information and version.
    -n            Do not execute a profile file.
    -m            Force display into mono, ignoring colour support.
    -r            Run THE in read-only mode.
    -s            A debugging aid for Unix versions. Turns off signal trapping.
    -b            run in batch mode.
    -p profile    The name of the profile file to use.  If not specified,
                  the file "PROFILE.THE" will be used, unless overridden
                  by the environment variable "THE".
    -a prof-arg   Used to pass a string to the profile file as argument.
                  Only works with REXX macros.
    -w width      Length of longest line THE can handle (default 512)
    -u display_length      unformatted display length
    dir           Will display a directory of the specified dir.
    file [..]     Specifications of file(s) to edit.  If multiple files
                  are specified, each will be put in a separate file in
                  the ring.  The first one specified will be displayed.
                  If no files are specified, the current directory will
                  be displayed.
                  Issuing [SOS EDIT] on a file spec will edit that file.
                  [SOS EDIT] on a subdir will display that directory.
 
    Option flags must be specified in LOWER case.


 Environment variables used:
 --------------------------
 See Appendix 1 of the.man

 Notes:
  - The capitalised portion of a command is the minimum abbreviation
    for the command.
  - UP, DOWN, NEXT differ from XEDIT and Kedit in that they do not
    accept numerical arguments abutted to the command name.
    Thus "N3" is not supported.


 THE Commands:
 -------------

 Add [n]
       
 ALL [rtarget]
       select and display restricted set of lines
 BAckward [n|*]
       scroll backwards [n] screens
 Bottom
       move to the bottom of the file
 CANcel
       quit from all unaltered files in the ring
 CAppend [text]
       append text after column pointer
 CCancel
       qquit from all files in the ring
 CDelete [column target]
       delete text starting at column pointer
 CFirst
       move column pointer to beginning of zone
 Change /string1/string2/ [target] [n] [m]
       change one string to another
 CInsert text
       insert text starting at the column pointer
 CLAst
       move the column pointer to end of zone
 CLocate column target
       move the column pointer
 CMATCH
       find matching bracket character
 CMSG [text]
       display text on command line
 COMMAND command [options]
       execute a command without translation
 COMPress [target]
       reduce spaces to tabs
 control_char
       allow control characters to be entered
 COPY target1 target2
 COPY BLOCK [RESET]
       copies text from one position to another
 COVerlay text
       overlay text starting at the column pointer
 CReplace text
       replace text starting at the column pointer
 CURsor Column
 CURsor Screen UP|DOWN|LEFT|RIGHT
 CURsor Screen row [col]
 CURsor [Escreen] UP|DOWN
 CURsor [Escreen|Kedit] LEFT|RIGHT
 CURsor [Escreen] row [col]
 CURsor CMdline [n]
 CURsor HOME [SAVE]
 CURsor File line [col]
       move cursor to specified position
 DEFine key-name [command [args] [[#command [args]...]]]
       assign one or many commands to a key
 DELete [target]
       delete lines from a file
 DIRectory [file specification]
       list the specified directory as an editable file
 DOS [command]
       execute an operating system command
 DOSNowait command
       execute an operating system command - no prompt
 DOSQuiet command
       execute an operating system command quietly
 Down [relative target]
       move forward in the file a number of lines
 DUPlicate [n [target|BLOCK]]
       duplicate lines
 Edit [file]
       edit another file or switch to next file
 EMSG [message]
       display message
 enter
       execute a command
 EXPand [target]
       expand tab characters to spaces
 EXTract /item/[...]
       obtain various internal information about THE
 FFile  [filename]
       force a FILE of the current file to disk
 FILE  [filename]
       write the current file to disk and remove from ring
 FILLbox [c]
       fill the marked box block with a character
 Find string
       locate forwards the line which begins with the supplied string
 FINDUp string
 FUp string
       locate backwards the line which begins with the supplied string
 FOrward [n]
       scroll forwards [n] screens
 GET [filename] [fromline] [numlines]
       insert into file the contents of specified file
 HELP
       edit help file for THE
 HIT key
       simulate hitting of the named key
 Input [string]
       insert the command line contents into the file
 Join [ALigned]
       join a line with the line following
 LEft [n|HALF]
       scroll the screen to the left
 [Locate] target [command]
       search for a target
 LOWercase [target]
       change uppercase characters to lowercase
 LS [file specification]
       list the specified directory as an editable file
 MACRO filename [arguments ...]
       execute a macro command file
 MARK Line|Box|Stream|Word|Column
       mark a portion of text
 MODify set-command
       display current SET command for alteration
 MOVE target1 target2
 MOVE BLOCK [RESET]
       move a portion of text
 MSG [message]
       display message on error line
 Next [relative target]
       move forward in the file a number of lines
 NEXTWindow
       switch focus of editing session to another file
 NFind string
       locate forwards the line which does NOT begin with the supplied string
 NFINDUp string
 NFUp string
       locate backwards the line which does NOT begin with the supplied string
 NOMSG command [arguments]
       execute a command suppressing any messages
 NOP
       no operation command
 OS [command]
       execute an operating system command
 OSNowait command
       execute an operating system command - no prompt
 OSQuiet command
       execute an operating system command quietly
 OSRedir filename command [arguments ...]
       execute an operating system command and capture output
 OVERLAYBox
       overlay marked box block on current cursor position
 PREServe
       save various editor settings
 PRint [target] [n]
 PRint LINE [text]
 PRint STRING [text]
 PRint FORMfeed
 PRint CLOSE
       send text to default printer or print spooler
 PUT [target] [filename]
       write part of a file to another
 PUTD [target] [filename]
       write part of a file to another and delete
 QQuit
       exit from the current file without saving changes
 Query item
       display various option settings
 QUIT
       exit from the current file if no changes made
 READV Cmdline [initial text]
 READV KEY
       read keystrokes and pass to macro
 RECover [n|*]
       recover changed or deleted lines
 REDRAW
       redraw the current screen
 REFRESH
       refresh the contents of the current screen
 REPEat [target]
       repeat the last command
 Replace [text]
       replace the current line with supplied text
 RESet ALL|Block|Prefix
       cancel the marked block or prefix commands or both
 REStore
       restore various editor settings
 RGTLEFT [n]
       scroll the screen to the left or right
 RIght [n|HALF]
       scroll the screen to the right
 SAVE [filename]
       save changes to current file
 SCHange /string1/string2/ [target] [n] [m]
       selectively change strings
 SET set_command [set_command parameter(s) ...]
       execute various set commands
 SHift Left|Right [n] [target]
       move text left or right
 SHOWkey [ALL]
       display current key value and command assignation
 SORT target [[sort field 1] [...] [sort field 10]]
       sort selected lines in a file
 SOS sos_command [sos_command ...]
       execute various sos commands
 SPlit [ALigned]
       split a line into two lines
 spltjoin
       split/join two lines
 SSave [filename]
       force SAVE to specified file
 STATus [filename]
       display current settings of various variables
 SUSPend
       suspend THE and return to operating system
 tabpre
       switch between FILEAREA and PREFIX area
 TEXT text
       simulate keyboard entry of characters
 THE [filename]
       edit another file or switch to next file
 TOP
       move to the top of the file
 Up [relative target]
       move backward in the file a number of lines
 UPPercase [target]
       change lowercase characters to uppercase
 Xedit [file]
       edit another file or switch to next file
 ?[+]
       retrieve - return the next/prior command on the command line
 =
       re-execute the last command issued on the command line
 ! [command]
       execute an operating system command

 SET commands
 ------------

 [SET] ARBchar ON|OFF [char1] [char2]
       set arbitrary character(s) for targets
       Default: Off $ ?
 [SET] AUtosave n|OFF
       set autosave period
       Default: OFF
 [SET] BACKup OFF|TEMP|KEEP|ON
       indicate if a backup copy of the file is to be kept
       Default: KEEP
 [SET] BEEP ON|OFF
       turn on or off the audible alarm when displaying errors
       Default: OFF
 [SET] CASE Mixed|Lower|Upper [Respect|Ignore] [Respect|Ignore] [Respect|Ignore]
       set case sensitivity parameters
       Default: Mixed Ignore Respect Respect
 [SET] CLEARScreen ON|OFF
       indicate if the screen is to be cleared on exit
       Default: OFF
 [SET] CLOCK ON|OFF
       turn on or off display of time on status line
       Default: ON
 [SET] CMDArrows Retrieve|Tab
       sets the behaviour of the up and down arrow keys
       Default: RETREIVE
 [SET] CMDline ON|OFF|Top|Bottom
       sets the position of the command line.
       Default: BOTTOM
 [SET] COLOUR area [modifier[...]] [foreground] [on] [background]
 [SET] COLOR  area [modifier[...]] [foreground] [on] [background]
       set colours for display
       Default: Depends on compatibility mode setting and monitor type.
 [SET] COMPat The|Xedit|Kedit
       set compatibility mode
       Default: THE
 [SET] CURLine M[+n|-n] | [+|-]n
       set position of current line on screen
       Default: M
 [SET] CURSORSTay ON|OFF
       set on or off the behaviour of the cursor on a scroll
       Default: ON
 [SET] DIRInclude *
 [SET] DIRInclude [Normal] [Readonly] [System] [Hidden] [Directory]
       set the file mask for directory command
       Default: *
 [SET] DISPlay n [m|*]
       specify which level of lines to display
       Default: 0 0
 [SET] EOLout CRLF|LF|CR|NONE
       set end of line terminating character(s)
       Default: LF - Unix,
 [SET] ETMODE ON|OFF [character list]
       indicate if extended display mode is possible
       Default: DOS/OS2
 [SET] HEX ON|OFF
       set how hexidecimal strings are treated in string operands
       Default: OFF
 [SET] HEXDISPlay ON|OFF
       turn on or off display of character under cursor
       Default: ON
 [SET] HEXShow ON|OFF [M[+n|-n]|[+|-]n]
       turn on or off hex display of current line
       Default: OFF 7
 [SET] IDline ON|OFF
       specify if IDLINE is displayed
       Default: ON
 [SET] IMPcmscp ON|OFF
       set implied operating system command processing
       Default: ON
 [SET] IMPMACro ON|OFF
       set implied macro command processing
       Default: ON
 [SET] IMPOS ON|OFF
       set implied operating system command processing
       Default: ON
 [SET] INSERTMode ON|OFF|TOGGLE
       put editor into or out of insert mode
       Default: OFF
 [SET] LINENd ON|OFF [character]
       allow/disallow multiple commands on command line
       Default: OFF #
 [SET] MACROExt [ext]
       set default macro extension value
       Default: the
 [SET] MACROPath path[s]
       set default path for macro commands
       Default: Path specified by env variable THE_MACRO_PATH
 [SET] MARgins left right [[+|-]indent]
       set left and right margins for wordwrap
       Default: 1 72 +0
 [SET] MSGLine ON M[+n|-n]|[+|-]n [lines] [Overlay]
       set position and size of message line
       Default: ON 2 5 Overlay
 [SET] MSGMode ON|OFF
       set display of messages on or off
       Default: ON
 [SET] NEWLines Aligned|Left
       set position of cursor after adding blank line
       Default: Aligned
 [SET] NONDisp character
       specify character to display for non-displaying characters
       Default: #
 [SET] NUMber ON|OFF
       turn prefix numbers on or off
       Default: ON
 [SET] PENDing ON string
 [SET] PENDing OFF
 [SET] PENDing BLOCK string
       set status of pending prefix commands
       Default: ON
 [SET] PREfix ON [Left|Right]
 [SET] PREfix Nulls [Left|Right]
 [SET] PREfix OFF
 [SET] PREfix Synonym newname oldname
       set prefix area attributes
       Default: ON Left
 [SET] PRINTER spooler
       define printer spooler name
       Default: LPT1 - DOS/OS2, lpr - Unix
 [SET] REPROFile ON|OFF
       indicate if profile file to be executed for all files
       Default: OFF
 [SET] RESERved *|+|-n [colour] [text|OFF]
       display a reserved line
       Default: Display 1000
 [SET] SCALe ON|OFF [M[+n|-n]|[+|-]n]
       set position and status of scale line on screen
       Default: OFF M+1
 [SET] SCOPE All|Display
       sets which lines are to be excluded from commands
       Default: Display
 [SET] SCReen n [Horizontal|Vertical]
       specifiy number of screens displayed
       Default: 1
 [SET] SELect [+|-]n [target]
       sets the selection level for the specified lines
       Default: 0
 [SET] SHADOW ON|OFF
       determines if shadow lines are displayed or not
       Default: ON
 [SET] STATUSLine Top|Bottom|Off|GUI
       set position of status line
       Default: Bottom
 [SET] STAY ON|OFF
       set condition of cursor position after CHANGE/LOCATE commands
       Default: ON
 [SET] SYNonym ON|OFF
 [SET] SYNonym [LINEND char] newname [n] oldname
       define synonyms for commands
       Default: ON
 [SET] TABKey Tab|Character Tab|Character
       set characteristics of the SOS TABF command
       Default: Tab Character
 [SET] TABLine ON|OFF [M[+n|-n]|[+|-]n]
       set position and status of tab line on screen
       Default: OFF -3
 [SET] TABS n1 [n2 ... n32]
 [SET] TABS INCR n
       set tab columns or tab length
       Default: INCR 8
 [SET] TABSIn ON|OFF [n]
       set tab processing on file input
       Default: OFF 8
 [SET] TABSOut ON|OFF [n]
       set tab processing on file output
       Default: OFF 8
 [SET] TYPEAhead ON|OFF
       set behavior of screen redraw
       Default: OFF
 [SET] Verify first [last]
       set column display limits
       Default: 1 *
 [SET] WORDWrap ON|OFF
       set wordwrap feature on or off
       Default: OFF
 [SET] XTERMinal program
       set X terminal to execute under X
       Default: System dependent but usually one of:
 [SET] Zone first [last]
       set column limits for editing
       Default: 1 *

 SOS commands
 ------------

 SOS ADDline
       add blank line after focus line
 SOS BOTTOMEdge
       move cursor to bottom edge of FILEAREA
 SOS CURRent
       move cursor to current line
 SOS CURSORAdj
       move first non-blank character to cursor
 SOS DELBAck
       delete the character to the left of the cursor
 SOS DELChar
       delete character under cursor
 SOS DELEnd
       delete to end of line
 SOS DELLine
       delete focus line
 SOS DELWord
       delete word at or right of cursor
 SOS DOPREfix
       execute any pending prefix commands
 SOS EDIT
       edit a file from directory list
 SOS ENDChar
       move cursor to end of focus line
 SOS EXecute
       move cursor to command line and execute command
 SOS FIRSTCHar
       move cursor to first non-blank of field
 SOS FIRSTCOl
       move cursor to first column of field
 SOS LASTCOl
       move cursor to last column of field
 SOS LEFTEdge
       move cursor to left edge of window
 SOS LINEAdd
       add blank line after focus line
 SOS LINEDel
       delete focus line
 SOS MAKECURR
       make focus line the current line
 SOS MARGINL
       move cursor to the left margin column
 SOS MARGINR
       move cursor to the right margin column
 SOS PARINDent
       move cursor to the paragraph indent column
 SOS PREfix
       move cursor to leftmost edge of prefix area
 SOS QCmnd
       move cursor to command line and clear
 SOS RIGHTEdge
       move cursor to right edge of window
 SOS STARTENDChar
       move cursor to end/start of focus line
 SOS TABB
       move cursor to previous tab stop
 SOS TABf
       move cursor to next tab stop
 SOS TABFIELDB
       move cursor to previous enterable field
 SOS TABFIELDf
       move cursor to next enterable field
 SOS TABWORDB
       move cursor to beginning of previous word
 SOS TABWORDf
       move cursor to start of next word
 SOS TOPEdge
       move cursor to top edge of filearea
 SOS UNDO
       undo changes to the current line

 THE prefix commands:
 -------------------
 a      - add blank line
 i
 /      - make line current line
 c      - copy line
 m      - move line
 d      - delete line
 x      - exclude line
 "      - duplicate line
 s      - show excluded lines
 p      - target for c and m - prior to line
 f      - target for c and m - following line
 >      - shift line right
 <      - shift line left
 cc     - copy line block
 mm     - move line block
 dd     - delete line block
 xx     - exclude line block
 ""     - duplicate line block
 >>     - shift line block right
 <<     - shift line block left
 .xxxxx - give name to line
 TABL   - display tab line
 SCALE  - display scale line


 THE Line Targets:
 ----------------
 Absolute target:        An absolute line number.
                         eg. :12 - line number 12
 All target:             All lines in file the file.
                         eg. ALL
 Blank target:           The first line containing only blank characters.
                         eg. BLANK
 Block target:           All lines in the marked block.
                         eg. BLOCK
 Named line target:      A line with a name, set with [SET] POINT
                         eg. .fred
 Relative target:        A target relative to the current line.
                         eg. 12 - 12 lines below the current line
                             -4 - 4 lines above the current line
                             *  - all lines below the current line
                             -* - all lines above the current line
 String target:          A sequence of characters between delimiters.
                         eg. /string/  - the first line below the
                                         current line containing "string"
                             -/string/ - the first line above the
                                         current line containing "string"

 Targets may be separated by the boolean operators '&' or '|'.
 eg.  /string1/ | /string2/
 Targets may also be prefixed with '~' to signify boolean NOT.
 eg.  ~/string/

 Default Key Assignments:
 ------------------------
 The first column is the name of the key in its normal state. Shifted
 keys have a 'S-' prefix, control keys have a 'C-' prefix and Alt keys
 have a 'A-' prefix. Thus key names for F1 are: F1,S-F1,C-F1 and A-F1.
 The key names are the same as displayed by the showkeys command.

 ---------+-------------------+-----------+--------------+-------------
 Key Name | Normal            | Shifted   | Control      | Alt
 ---------+-------------------+-----------+--------------+-------------
 F1       | help              | locate    |              |
 F2       | nextwindow        |           |              |
 F3       | file              | qquit     |              |
 F4       | sos addline 1     |           |              |
 F5       | sos makecurr      |           |              |
 F6       | ?                 |           |              |
 F7       | cmatch            |           |              |
 F8       | recover           |           |              |
 F9       | sos delline 1     |           |              |
 F10      | spltjoin          |           |              |
 F11      | control_char      |           | point .a     |
 F12      | tabpre            |           | locate .a    |
 CURU     | up_arrow          |           |              |
 CURD     | down_arrow        |           |              |
 CURL     | left_arrow        |           | sos tabwordb |
 CURR     | right_arrow       |           | sos tabwordf |
 INS      | insertmode toggle |           |              |
 DEL      | sos delchar       |           |              |
 HOME     | tabcmd            |           |              |
 END      | sos startendchar  |           | sos delend   |
 PGUP     | backward 1        |           | top          |
 PGDN     | forward 1         |           | forward *    |
 BKSP     | sos delback       |           |              |
 ENTER    | enter             |           |              |
 PLUS     | tabpre            |           |              |
 NUMENTER | sos doprefix      |           |              |
 NUMPLUS  | tabpre            |           |              |
 ESC      | sos undo          |           |              |
 TAB      | sos tabf          | sos tabb  |              |
 A        |                   |           | sos cursoradj|
 B        |                   |           |              | mark box
 C        |                   |           |              | copy block reset
 D        |                   |           |              | duplicate 1 block
 F        |                   |           |              | fillbox
 G        |                   |           |              | delete block
 J        |                   |           |              | join aligned
 K        |                   |           |              | copy block
 L        |                   |           |              | mark line
 M        |                   |           |              | move block reset
 O        |                   |           |              | overlaybox
 R        |                   |           | redraw       |
 S        |                   |           |              | split aligned
 U        |                   |           |              | reset block
 W        |                   |           |              | sos delword
 X        |                   |           |              | sos edit
 Z        |                   |           | suspend      |
 ---------+-------------------+-----------+--------------+-------------
